package com.pxst.fo.sys.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.pxst.req.BasePageRsp;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class FoOrderMainReq extends BasePageRsp {

    @ApiModelProperty(value = "系统可用银行id")
    private Long bankCardId;

    @ApiModelProperty(value = "商户id")
    private Long merchantInfoId;

    @ApiModelProperty(value = "银行卡群组id")
    private Long bankCardGroupId;

    @NotBlank(message ="币种不能为空")
    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "审核账户名称0 预设(不需审核) 1 待财务审核 2 待商户审核 3 拒绝 4 通过")
    private Integer confirmAccname;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "用户发起金额")
    private List<BigDecimal> requestAmount;

    @ApiModelProperty(value = "实际作用金额")
    private List<BigDecimal> paidAmount;

//    @ApiModelProperty(value = "to用户名称")
//    @JsonProperty("to_man")
//    private String toMan;
//
//    @ApiModelProperty(value = "to银行")
//    @JsonProperty("to_bank")
//    private String toBank;
//
//    @ApiModelProperty(value = "to银行账户")
//    @JsonProperty("to_card_number")
//    private String toCardNumber;

    @ApiModelProperty(value = "参考编号")
    private String reference;

    @ApiModelProperty(value = "订单号")
    private String altId;

    @ApiModelProperty("子代付id")
    private String foOrderChildAltId;

    @ApiModelProperty(value = "创建开始时间")
    private Date startDate;

    @ApiModelProperty(value = "创建结束时间")
    private Date endDate;

    @ApiModelProperty(value = "订单完成开始时间")
    private Date completedStartTime;

    @ApiModelProperty(value = "订单完成结束时间")
    @JsonFormat
    private Date completedEndTime;

    @ApiModelProperty(value = "更新开始时间")
    private Date updatedStartDate;

    @ApiModelProperty(value = "更新结束时间")
    private Date updatedEndDate;

    @ApiModelProperty(value = "账号代码")
    private String from;

    @ApiModelProperty(value = "到账银行")
    private String to;
}
